Ethernet and packet-switched Internet Protocol (IP) networks are systems for transmitting data between different points. These systems may be known as “point-to-point” or “contention-based” systems. In many circumstances all transmitters contend for network resources and all transmitters may transmit simultaneously. Due such transmission processes network resources may be oversubscribed, bottlenecks may occur or data may be delayed or lost, resulting in network impairment and high latency rates.
Conventional networks comprise a plurality of Local Area Network (LAN) endpoints, for example computers connected to an Ethernet LAN. Endpoints may be coupled to one or more LAN switches that connect to one or more additional LAN endpoints. If too many packets are simultaneously transmitted by other endpoints, the LAN switch may have a queue overflow, causing latency and/or packets to be lost. (“Packets” mean datagrams in a LAN or Wide Area Network (WAN) environment. In a LAN environment, packets are sometimes called “frames.” In a packet-switched WAN environment, packet-switching devices are normally referred to as “routers”).
Delivery protocols for resolving congestion and replacing dropped packets are well known, such as Transmission Control Protocol (TCP). But such solutions may be inappropriate for point-to-point environments and RF transmissions where latency below one microsecond is required, the round-trip propagation delay between stations is excessive and even the latency of waiting for another's single packet to be sent is excessive. Scheduling the transmission of packets by partitioning the packets into discrete frames and subframes is known in order to combat latency issues, but is insufficient in low latency systems. It is possible to schedule packets for delivery during time slots in the subframes corresponding to empirically determined conditions, but there can be a delay of a one to many subframes before data starts to flow for a given application. Based on the packet size and underlying network bandwidth, some varying fraction of each time slot would be actually used to transmit a packet. Assuming a packet size of 125 bytes (1,000 bits) and a port allocated 10 mbps, a single 100-microsecond time slot would be used to transmit each 125 byte packet. With a packet size of 1,500 bytes, twelve of the 100 microsecond intervals would be consumed by each packet transmission.
Configuration maps are known to provide a data structure indicating time slots that have already been allocated to other transmitters for reception by the receiving node (or, alternatively, time slots that have not yet been allocated, or, alternatively, time slots that are candidates for transmission). A reception map is a data structure that indicates time slots during which transmission to the intended receiving node would not conflict with other transmitters. Although there are many ways of representing such a map, one approach is to use a bitmap wherein each bit corresponds to one time slot, and a “1” indicates that the time slot has been allocated to a transmitting node, and a “0” indicates that the time slot has not yet been allocated. If a 1,232-nanosecond delivery interval were divided into 1 nanosecond time slots, there would be 1,232 bits in the reception map. What makes this approach unique is that instead of dividing port traffic on the basis of packets which can be 12,000 bits long or larger, this approach divides up and mixes traffic from different ports at the bit level, assuring port data moves through the system limited only by assigned bandwidth and not effected by the traffic on other ports.
Such processes for handling packets and the assignment of a packet handling identifier are known in order to share resources between retransmitted packets and other transceiver functions. A packet can be forwarded directly to another communication device (or layer) or it may have a specific packet handling identifier, such as a Quality of Service (QOS) level. The QOS level of a packet indicates the importance of certain service metrics of one or more packets. A QOS metric is delay (or latency) and Packet Error Rate (PER) and include Bit Error Rate (BER), data rate, delay variation (or jitter), packet loss rate or time between error events (TBE). Voice or data (e.g., trading) traffic may have very low latency requirements and low packet error rate.
Telecommunication networks use a wide variety of infrastructure methods for transmitting data depending on a variety of factors including the bandwidth of the connection, the need of security for the data, the type of data being transmitted, and the routing of the signals between the source and the destination. Many conventional methods compress the transmitted data into packets that include header information that is used by the network during the transmission process. The use of frames at the data link layer to transport a data payload from a packet may be referred to as “encapsulating” the data. Such conventional encapsulation methods include High-Level Data Link Control (HDLC), Point-to-Point Protocol (PPP) in HDLC-like framing (Internet Engineering Task Force RFC 1662), Multiprotocol Encapsulation (MPE), Generic Stream Encapsulation (GSE), and Unidirectional Lightweight Encapsulation (ULE).
Well known transmission systems include the Ethernet protocol ISO/IEC 8802-3 (ANSI/IEEE Std. 802,3, 1993 edition) that defines a half-duplex media access mechanism and permits all stations to access network channel with equality. Each station includes an Ethernet interface card that in some cases may use carrier-sense multiple-access with collision detection (CSMA/CD) to listen for traffic on the media. A station having data to send will attempt to access the channel by waiting a predetermined time after the deassertion of a receive carrier on the media, known as the interpacket gap (IPG) interval. In some cases a full duplex environment may be provided and referred to as IEEE 802.3x, Full Duplex with Flow Control-Working Draft (0.3). Traffic is not distinguished or prioritized over the medium. The environment provides a two-way, point-to-point communication link between two network stations. In some cases two stations can simultaneously transmit and receive Ethernet data packets between each other without collision. An example of data evaluation may include setting the first value of the frame delimiter to 0xC7 (11000111) and setting the second value of the frame delimiter to 0x47 (01000111).
The IEEE 802.3z Task Force has defined shared and full-duplex gigabit Ethernet. Slot time of 512 bytes (4,096 bits) is available without increasing the minimum frame length, and providing frame bursting in which a station sends several frames separated by the extend carrier symbols in a single burst. Gigabit Ethernet (full duplex) operates by a station operating according to the conventional CSMA/CD protocol when attempting to transmit the first packet (at speeds under 10G).
IEEE 802.12-1995, “Demand Priority Access Method, Physical Layer and Repeater Specification for 100 Mb/s Operation,” also known as the VG ANYLAN network, uses a centralized hub to arbitrate among the requests from network stations. The hub grants access to the stations in a round robin fashion and the VG ANYLAN network requires control by a central hub.
Prior art systems such as Infiniband that use switched fabric topology or OSPF-TE require five seconds or more to recognize one link is unusable and when the RE link is up but has a high Bit Error Rate (BER) there may be no failover at all. Once failover is achieved, all of the dropped packets are lost in a UDP/IP low-latency network. Once the RF system returns to normal it may take considerable time for the system to start using RF link again.
However, none of the above systems sufficiently resolve latency issues where gigabit or higher transmissions of data, such as electronic trading, which must have minimal latency and few or no missed packets and no waiting for and no impact from other traffic which shares the backbone latency. Also, each of the above systems fail to provide data transmission with consistently low latency. A system that improves upon the above technologies and protocols that provides data transmission with latency rates below the single, minimum-sized-packet serialization time is needed for point to point networks.
For example, a system for sending 1232 data bits per 1248 total bits (equivalent to 154/156 encoding) with no further encoding or loss of bandwidth, is distinguished from traditional encoding methods which provide 8 data bits per 10 total bits (8/10 encoding), 64 data bits per 66 total bits (64/66 encoding) and other encoding schemes which decrease the available data bandwidth as a percentage of the total bandwidth.
Also a system having a step of sending trunk fragments that are scrambled by 16 bit Exclusive-Or (XOR) Look Up Table (LUT) comprised of 16 to 1,232 scrambling data bits to create a scrambled trunk fragment (“XOR LUT”), but not scrambled by the self-organizing scrambling polynomial described by IEEE 802.3-2008 section 49.2.6 (Ethernet Scrambler), however, the Ethernet Scrambler has the side-effect of creating three bit errors for every bit which is flipped by weather or other transmission errors. The XOR LUT described herein does not create extra bit errors.